﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using DomainModel;
using BL;

namespace SL
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract]
    public interface ISLTv
    {

        [OperationContract]
        Dictionary<int, string> GetDisplay(ref List<string> errors);
       // List<Display> GetDisplay(ref List<string> errors);

        [OperationContract]
        Dictionary<int, string> GetMake(ref List<string> errors);

        [OperationContract]
        Dictionary<int, int> GetRefresh(ref List<string> errors);

        [OperationContract]
        Dictionary<int, int> GetResolution(ref List<string> errors);

        [OperationContract]
        Dictionary<int, int> GetSize(ref List<string> errors);

        [OperationContract]
        List<Product> SearchItem(int display, int make, int size, ref List<string> errors);
        
        // for partial functions
        [OperationContract]
        int numberOutOfStock(ref List<string> errors);

        [OperationContract]
        List<Product> GetTopFive(ref List<string> errors);

        [OperationContract]
        List<Product> GetOutStockDetail(ref List<string> errors);
        // end of partial functions
        
    }
}
